+Sun Feb 29 03:31:42 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkentry.c (gtk_entry_completion_key_press): Fix Page_Up
+ and Page_Down in the completion popup to move page-wise if we're
+ scrolling.
+
2004-02-28 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (set_cell_text_bold_if_folder):
+Sun Feb 29 03:31:42 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkentry.c (gtk_entry_completion_key_press): Fix Page_Up
+ and Page_Down in the completion popup to move page-wise if we're
+ scrolling.
+
2004-02-28 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (set_cell_text_bold_if_folder):
+Sun Feb 29 03:31:42 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkentry.c (gtk_entry_completion_key_press): Fix Page_Up
+ and Page_Down in the completion popup to move page-wise if we're
+ scrolling.
+
2004-02-28 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (set_cell_text_bold_if_folder):
+Sun Feb 29 03:31:42 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkentry.c (gtk_entry_completion_key_press): Fix Page_Up
+ and Page_Down in the completion popup to move page-wise if we're
+ scrolling.
+
2004-02-28 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (set_cell_text_bold_if_folder):
+Sun Feb 29 03:31:42 2004 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtkentry.c (gtk_entry_completion_key_press): Fix Page_Up
+ and Page_Down in the completion popup to move page-wise if we're
+ scrolling.
+
2004-02-28 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (set_cell_text_bold_if_folder):
if (keyval_is_cursor_move (event->keyval))
{
GtkTreePath *path = NULL;
-
+
if (event->keyval == GDK_Up || event->keyval == GDK_KP_Up)
{
completion->priv->current_selected--;
completion->priv->current_selected = matches + actions - 1;
}
else if (event->keyval == GDK_Page_Up)
- completion->priv->current_selected = 0;
-
+ {
+ if (completion->priv->current_selected <= 0)
+ completion->priv->current_selected = -1;
+ else if (completion->priv->current_selected < matches)
+ {
+ completion->priv->current_selected -= 14;
+ if (completion->priv->current_selected < 0)
+ completion->priv->current_selected = 0;
+ }
+ else
+ {
+ completion->priv->current_selected -= 14;
+ if (completion->priv->current_selected < matches - 1)
+ completion->priv->current_selected = matches - 1;
+ }
+ }
else if (event->keyval == GDK_Page_Down)
- completion->priv->current_selected = matches + actions - 1;
+ {
+ if (completion->priv->current_selected < 0)
+ completion->priv->current_selected = 0;
+ else if (completion->priv->current_selected < matches - 1)
+ {
+ completion->priv->current_selected += 14;
+ if (completion->priv->current_selected > matches - 1)
+ completion->priv->current_selected = matches - 1;
+ }
+ else
+ {
+ completion->priv->current_selected += 14;
+ if (completion->priv->current_selected > matches + actions - 1)
+ completion->priv->current_selected = matches + actions - 1;
+ }
+ }
if (completion->priv->current_selected < 0)
{
/* move the cursor to the end */
gtk_editable_set_position (GTK_EDITABLE (widget), -1);
- g_free (str);
+ g_free (str);
}
return TRUE;